﻿namespace Hanoi
{/// <summary>
/// 汉诺塔小游戏，
/// </summary>
    internal class Program
    {
        public static void Move(int num, char A,char B,char C)
        {
            //只有一层汉诺塔盘时，直接将其移动到塔C
            if (num == 1)
                Console.WriteLine($"将第1个盘子从塔{A}移动到塔{C}");
            //若盘数大于一，则采用递归调用
            else
            {
                //先将上num-1层经过塔C移到B
                Move(num-1, A, C, B);
                //将第num层从塔A移到C
                Console.WriteLine($"将第{num}个盘子从塔{A}移到{C}");
                //将已移动到B的num-1层移到A
                Move(num - 1, B, A, C);
            }
        }
        static void Main(string[] args)
        {
            int num;
            Console.WriteLine("请输入塔数：");
            num = int.Parse(Console.ReadLine());
            //调用Move函数
            Move(num,'A','B','C'); 

        }
        
    }
}